package com.wmlive.hhvideo.heihei.db.manager;

import android.content.Context;

import com.wmlive.hhvideo.heihei.db.datatable.DaoMaster;
import com.wmlive.hhvideo.heihei.db.datatable.DaoSession;
import com.wmlive.hhvideo.heihei.db.datatable.IMMessageDefaultTableDao;

/**
 * 默认数据库管理
 * Created by kangzhen on 2017/7/6.
 */

public class GreenDaoDefaultDBManager {
    private  DaoMaster mDaoMasterDefault;
    private  DaoSession mDaoSessionDefault;

    private Context mContext;
    private  IMMessageDefaultTableDao imMessageDefaultTableDao;

    public GreenDaoDefaultDBManager(Context context) {
        mContext = context;
    }

    private void getGreenDaoDefultDao(){
        DaoSession daoSession = getDaoSessionDefault(mContext);
        imMessageDefaultTableDao = daoSession.getIMMessageDefaultTableDao();
    }



    /**
     * 获取Daomaster
     * @return
     */
    private  DaoMaster getDaoMasterDefault(Context context){
        if(mDaoMasterDefault==null){
            DaoMaster.DevOpenHelper openHelperDefault =  new DaoMaster.DevOpenHelper(context, "hhvideo_db.db");
            mDaoMasterDefault = new DaoMaster(openHelperDefault.getWritableDatabase());
        }
        return mDaoMasterDefault;
    }

    /**
     * 获取DaoSessin
     * @return
     */
    private  DaoSession getDaoSessionDefault(Context context){
        if (mDaoSessionDefault == null)
        {
            if (mDaoMasterDefault == null)
            {
                mDaoMasterDefault = getDaoMasterDefault(context);
            }
            mDaoSessionDefault = mDaoMasterDefault.newSession();
        }
        return mDaoSessionDefault;
    }
    /**
     * 返回管理消息中的默认数据库
     * @return
     */
    public IMMessageDefaultTableDao getIMMessageDefaultTableDao() {
        if(imMessageDefaultTableDao==null){
            getGreenDaoDefultDao();
        }
        return  imMessageDefaultTableDao;
    }
}
